import fitz  # 导入PyMuPDF库
import os
import sys


def remove_pdf_password(input_pdf, output_pdf, password):
    """
    移除PDF文件的阅读密码

    参数:
        input_pdf (str): 输入PDF文件路径
        output_pdf (str): 输出PDF文件路径
        password (str): PDF的阅读密码

    返回:
        bool: 操作是否成功
    """
    try:
        # 打开加密的PDF文件
        doc = fitz.open(input_pdf)

        # 验证密码并解锁文档
        if doc.needs_pass:
            # 尝试解锁文档
            if not doc.authenticate(password):
                print("密码错误，无法解锁PDF文件。")
                doc.close()
                return False

        # 保存为无密码的新PDF文件
        doc.save(output_pdf)
        doc.close()

        print(f"成功移除密码，已保存为: {output_pdf}")
        return True

    except Exception as e:
        print(f"处理PDF时出错: {str(e)}")
        return False


def main():
    print(fitz.__doc__)
    # 检查命令行参数
    # if len(sys.argv) < 4:
    #     print("用法: python pdf_password_remover.py <输入PDF路径> <输出PDF路径> <密码>")
    #     return
    #
    # input_pdf = sys.argv[1]
    # output_pdf = sys.argv[2]
    # password = sys.argv[3]
    input_pdf= '/Users/user/Downloads/个人信用报告20250625-816453.pdf'
    output_pdf= '/Users/user/Downloads/个人信用报告20250625-removepassword.pdf'
    password='816453'

    # 检查输入文件是否存在
    if not os.path.exists(input_pdf):
        print(f"错误: 输入文件 '{input_pdf}' 不存在。")
        return

    # 执行密码移除操作
    remove_pdf_password(input_pdf, output_pdf, password)


if __name__ == "__main__":
    main()